//---------------------------------------------------------------------------

#ifndef t_cpathformH
#define t_cpathformH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Dialogs.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Grids.hpp>
//---------------------------------------------------------------------------
class TCpathForm : public TForm
{
__published:	// IDE-managed Components
   TPanel *Panel1;
   TLabel *Label2;
   TLabel *Label3;
   TLabel *Label4;
   TLabel *Label1;
   TLabel *Label5;
   TLabel *Label6;
   TLabel *LabelTotalElapsed;
   TEdit *EditStartTime1;
   TEdit *EditStartTime2;
   TEdit *EditEndTime1;
   TEdit *EditEndTime2;
   TEdit *EditElapsedTime;
   TButton *ButtonCalculate;
   TEdit *EditTopN;
   TComboBox *ComboBoxType;
   TButton *ButtonDescription;
   TButton *ButtonSave;
   TCheckBox *CheckBoxExcludeList;
   TButton *ButtonEditExcludeList;
   TPanel *Panel2;
   TPanel *Panel3;
   TButton *ButtonProperty;
   TButton *ButtonGotoThisGroup;
   TStringGrid *StringGrid1;
   TSaveDialog *SaveDialog1;
   void __fastcall ButtonCalculateClick(TObject *Sender);
   void __fastcall ButtonDescriptionClick(TObject *Sender);
   void __fastcall ButtonSaveClick(TObject *Sender);
   void __fastcall ButtonEditExcludeListClick(TObject *Sender);
   void __fastcall StringGrid1SelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect);
   void __fastcall ButtonPropertyClick(TObject *Sender);
   void __fastcall ButtonGotoThisGroupClick(TObject *Sender);

private:	// User declarations
   void __fastcall Filter(vector<HJobListInfo*> &NewJobVec);
   void __fastcall UpdateButtons(int Row);
   map<UTF8String, HJobListInfo> JobMap;
   vector<HJobListInfo*> JobVec;
   bool CommandFlag;
public:		// User declarations
   __fastcall TCpathForm(TComponent* Owner);
   void __fastcall ShowIt();
   void __fastcall Clear();
   void __fastcall Reload();
   void __fastcall AssignRows();
   void __fastcall AssignOneRow(int RowIdx, const HJobListInfo &Info);
   void __fastcall GetExcludeList(set<UTF8String> &StrSet);
   void __fastcall Reload_aux();
};
//---------------------------------------------------------------------------
extern PACKAGE TCpathForm *CpathForm;
//---------------------------------------------------------------------------
#endif
